1. Field of the Invention
The present invention relates generally to a system and method for displaying objects. More particularly, the present invention relates to graphical user interfaces providing variably-transparent (transparent/semi-transparent) layered objects.
2. Related Art
Graphical User Interfaces (GUIs) provide a gateway between users and virtually all types of application programs for visualizing and manipulating application-specific objects or information. A problem with GUIs has been efficiently displaying a number of objects (e.g., windows, menus, and tool palettes) within a limited display (e.g., computer screen or terminal) area. Indeed, the rather limited amount of display real estate relative to the increasing amount of information to be displayed presents a real and prevailing challenge to GUI design.
There have been generally two broad strategies to address the problem. The first entails a space multiplexing strategy. That is, the screen is partitioned (or tiled) into a number of non-overlapping windows. The second is a time multiplexing (or temporal sequencing) strategy. With this type of strategy, windows are arranged on top of one another, with only the top-most window being visible at any given time and a mechanism (e.g., a mouse interface) is provided to rapidly change which window is visible.
Conventionally, most GUIs have utilized hybrid approaches rather than either one of these strategies exclusively. For example, conventional GUIs typically provide both static or permanently visible windows and dynamic menus which are only visible by user selection or request (e.g., drop-down, pop-up, pull-down, and pull-out menus). Drop-down menus are typically anchored in a menu bar along an edge of the screen. Pop-up menus and windows, however, generally appear at the cursor location to maintain the user's center of visual attention and continuity.
A disadvantage of any of these approaches is that some displayed objects (images) are completely or partially obscured, thereby blocking the context in which the user is working (task space or work surface). That is, all objects that are below or behind a fully opaque window or menu are not visible to the user. Thus, when an opaque rectangular pull-down menu (foreground object) containing a list of user options is displayed, all object images (background objects) falling behind the menu are obstructed. This invariably has an adverse effect on the utility of conventional GUIs.
The extent of the disruption to the user is directly related to the persistence of the foreground object (ie., how long the object remains displayed). In the case of menu item selection, obstruction is short-term. However, in the case of overlapping windows, for example, the length of time this obstruction exists is long-term. Accordingly, the visual disruption is persistent and highly problematic.
Recent advances in technology make it possible and often desirable to use variably-transparent (transparent/semi-transparent) windows, menus, or other objects such that the user can "see through" to underlying layers. Fully transparent interfaces include the Heads Up Displays (HUDs) used in aviation and the Clearboard system. See, Ishii et al., Clearboard: A seamless medium for shared drawing and conversation with eye contact, Proceedings of CHI'92, Monterey, Calif., 525-532. In the HUD systems, aircraft instrumentation (a graphical computer interface) is superimposed on the external real world scene, using specially engineered windshields. In the Clearboard system, a large drawing surface is overlaid on a video image of the user's collaborative partner, where the superimposed images are presented as a "drafting" table.
Similarly, in other rare instances, GUIs have also used semi-transparent (partially transparent or translucent) techniques, such as stippling. These techniques generally allow foreground object images (e.g., menus, tool palettes, work areas, or windows) to be superimposed over background object images, while permitting the background object images to remain visible to the user. Applications using such techniques include video overlays (e.g., sport scores overlaid on the game in play) and "3-D silk cursors." See, Zhai et al., The "silk cursor:" Investigating transparency for 3D target acquisition, Proceeding of CHI'94, Boston, Mass., 459-464.
A similar application involving semi-transparent menus (a class of interactive widgets) which do not completely block other object images on a computer display is disclosed in U.S. Pat. No. 5,283,560 to Bartlett. As such, images falling below the menus remain visible, thus making the menus less intrusive during menu operation.
Accordingly, variably-transparent GUIs allow multiple object image "layers" to be simultaneously observed. Correspondingly, these interfaces are instrumental in providing integration between user tool space (foreground) and task space (background), between multiple tools, or between different object images. For example, such interfaces allow the user to interact with foreground objects, carry out activities, or change parameters that are ultimately reflected in a background layer (e.g., color changes, font changes, view changes). Correspondingly, these GUIs provide the user with a more efficient mechanism to perform operations without being overly disruptive.
While solving one problem, these conventional variably-transparent GUIs create others, namely visual interference (i.e., reduced visibility and legibility). For example, when a foreground object (e.g, a widget) is made semi-transparent, object images below the widget tend to interfere with the legibility of the widget itself.
The degree of visual interference is generally a function of transparency. The higher the transparency of the foreground object, the higher the severity of the visual interference, wherein completely transparent foreground objects have the maximum interference from the background. As the degree of foreground transparency reduces toward opaque, the degree of visual interference is also reduced. This, however, mitigates the very advantage of variable-transparency since it significantly diminishes visibility of background object images.
Visual interference is particularly severe with foreground and background objects of similar colors (e.g., the color(s) of menu items closely matching the color(s) of background object images below the menu). Since any color may appear in the background (created/controlled by the application user), this can happen no matter which color is chosen for the text (icons etc.) on the widgets (created by the application designer). Accordingly, visual interference generally precludes use of variable-transparency with a wide range of practical applications.